﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace OEMS
{
    /// <summary>
    /// Objectklasse van Combinatie
    /// </summary>
    /// <Author>Ronald Geladé</Author>
    public class Combinatie
    {
        private int motorGegevensId;
        private int overbrengingGegevensId;
        private int belastingGegevensId;
        private Berekening[] berekeningen = new Berekening[1764];

        /// <summary>
        /// Constructor van Combinatie, maakt de berekening adhv de 3 onderdelen.
        /// </summary>
        /// <param name="motor"></param>
        /// <param name="overbrenging"></param>
        /// <param name="belasting"></param>
        public Combinatie(Motor motor, Overbrenging overbrenging, Belasting belasting)
        {
            motorGegevensId = motor.GegevensId;
            overbrengingGegevensId = overbrenging.GegevensId;
            belastingGegevensId = belasting.GegevensId;

            Meting [] motorMetingen = MetingDB.GetMetingenArray(motorGegevensId);
            Meting [] overbrengingMetingen = MetingDB.GetMetingenArray(overbrengingGegevensId);
            Meting [] belastingMetingen = MetingDB.GetMetingenArray(belastingGegevensId);

            for (int i = 0; i < 1764; i++)
            {
                berekeningen[i].Moment = motorMetingen[i].Moment;
                berekeningen[i].Toerental = motorMetingen[i].Toerental;
                berekeningen[i].Rendement = motorMetingen[i].Rendement * overbrengingMetingen[i].Rendement * belastingMetingen[i].Rendement;
            }
        }

        public int MotorGegevensId
        {
            get
            {
                return motorGegevensId;
            }
        }

        public int OverbrengingGegevensId
        {
            get
            {
                return overbrengingGegevensId;
            }
        }

        public int BelastingGegevensId
        {
            get
            {
                return belastingGegevensId;
            }
        }

        public Berekening[] getBerekeningen()
        {
            return berekeningen;
        }
    }
}
